home *** CD-ROM | disk | FTP | other *** search
- Short: Library to ctrl the MC68K MMUs
- Author: thor@math.tu-berlin.de (Thomas Richter)
- Uploader: thor@math.tu-berlin.de (Thomas Richter)
- Version: 42.2
- Type: util/libs
- Requires: Os 2.04, a 68020/68851, 68030, 68040 or 68060 with a working MMU
-
- NOTE: The developer information went now into the "MuManual" archive, this
- is the "user only" distribution.
-
- -----------------------------------------------------------------------------
-
- Purpose and goal of this library:
-
- The mmu.library is a basis for MMU (memory management) related functions the
- MC68K family can perform. Up to now certain hacks are available that program
- the MMU themselves (Enforcer,CyberGuard,GuardianAngle,SetCPU,Shapeshifter,
- VMM,GigaMem...).
- It's therefore not unexpected that these tools conflict with each other.
- There's up to now no Os support for the MMU at all - the gap this mmu.library
- fills.
-
- The goal is to provide a basis of functions to address and program the MMU in
- a hardware independent, Os friendly fashion. Hence, the new version of the
- Enforcer, called MuForce, will work together with virtual memory, and others.
-
- The mmu.library is also the basis for a virtual memory project, the
- memory.library. Even though the mmu.library does not provide virtual memory
- itself, it builds the basics to allow an easy implementation and to avoid the
- hacks required by other implementations so far.
-
- ------------------------------------------------------------------------------
-
-
- Changes since V42.1
- ---------------------
-
- - The 42.1 release automatically marked all hardware pages as
- cacheinhibited serialized. Looks like even that was too much for
- some hardware boards, I don't know why. This should be the proper
- default anyhow. I disabled this again, even though this means,
- as for 42.0 and before, that a MMU-Configuration is *mandatory*
- if you use the library as "stand-alone" instead on top of a third-
- party 68040/68060 library.
-
- Changes since V42.0:
- ---------------------
-
- - Installation: P5Init, PPCIdentify, P5Identify reworked again, it
- enables now explicitly the bus error generation of the A4000
- motherboard resources.
- - Installation Rexx scripts: Added a "NoP5" keyword to disable ex-
- plicitly the P5 identification steps which seem to be problematic
- for some boards for reasons that are beyond me.
- - MuManual: Fixed some typos, corrected some mistakes, clarified some
- formulations. Thanks to Etienne Voigt for proofreading!
- - Organization: The "MMULib" archive is now the user archive, all
- developer information went into the "MuManual" archive, including
- the autodocs, the includes, the bmaps and some example sources.
- This will help to keep the archive short.
- - mmulib: The CurrentContext() function forgot to Forbid() properly.
- Note that you still need a Forbid() bracketing or the result code
- might be pretty useless. The propability that this broke code is
- very low, though.
- - mmulib: GetMappingProperties() was simply broken in V42.0 and below.
- Sorry, this got fixed. This function hasn't been used yet, so this
- bug was left unnoticed.
- - Included a debug version of the library in the MuManual archive.
- - BlizKick: In order to avoid a yellow alert, either BlizKick must be
- modified or must be run behind SetPatch. The reason for the alert
- is that BlizKick opens the mmu.library before the 68060/68040 lib
- is open, which is and never has been legal. I just added an explicit
- check for this condition in V42 because too many people ignored it.
- As I said, "no discussion". This is a side effect of how the library
- works and has to work.
-
-
- Changes since V41.xx:
- ---------------------
-
- - mmu.library: Added more error checking for the startup code, esp.
- the MMU-Configuration file. Added a check for proper config-
- uration, i.e. whether the library was (incorrectly) loaded in
- front of SetPatch.
- - Added a new function: RunOldConfig(). It runs a small supervisor
- routine with the boot MMU configuration.
- - 68040.library: Added an explicit check for correct configuration,
- it will generate a requester in case no 68040 is available.
- - MuGuardianAngel: Fixed a bug in the mung-wall check which could
- have reported one additional mung-wall damage in case the front
- wall was found defective. Added a workaround for a possible
- 68060 firmware bug, the "U" bit is now always set in the MMU
- descriptors to avoid unnecessary MMU writebacks.
- - In case you see MuGuardianAngel hits of the z3scsi.device, run
- the FixCybAccess program. It will work around the z3scsi.device
- hits as well. Thanks, Helmut.
- - MuMove4K PREPAREEMUL moves now the low chip memory end to the
- 16K line, not to the 8K line. This might fix some Fusion
- problems. Thanks, Pavel.
- - Improved the error messages of MuFastZero a little bit.
- - Reworked P5Identify and PPCIdentify to make these two more
- stable.
- - Added another external MMU setup command, P5Init. It should
- keep care about all P5 specific cache settings and should
- setup the PPC and the BOOT-MMU-Port automatically. All manual
- P5 specific entries in the MMU-Configuration except graphic
- board cachings are obsolete now and should be replaced by
- P5Init.
- - Rewrote both setup scripts to reflect the changes in the P5
- setup logic, i.e. ScanMMUPort has been replaced by P5Init and
- all P5 specific cache settings have been removed.
- - Added stack increasement patches for the mfm.device (CrossDos)
- and IPrefs 40.7 in case you do not yet use Os 3.5. Thanks Gene.
- - Added a fix for two bugs in ramlib. First, its stack is too
- low. Second, it uses SIGF_SINGLE as message bit for its process
- port which could cause some race conditions with semaphores in
- library setup code.
- - The MuGuardianAngel patch report and automatic IRQ check have
- been reworked a bit. The "patches overwritten" message is now
- no longer periodically generated, but will be suspended up to
- the next "real" hit where another message will be generated.
- - The MuGuardianAngel automatic IRQ stack was not only useless,
- but in fact broken. This does not go for the stack check of the
- exec memory handling functions which was and still is fine.
- Good enough it was recommended to leave the IRQ check disabled.
- "Nearly out of stack" warnings were not generated by the IRQ code
- at all, and the stack overflow and stack underflow messages
- usually report "bogus" hits due to its construction. Stack
- snooping is now by default ENABLED, except for "out of bounds"
- reports, which still requires STACKSNOOP option explicitly.
- Added an option to adjust the minimal stack size for the
- "Nearly out of stack" reports, but it can be made only larger,
- i.e. more "picky".
- - mmu.library: The pre-42 releases only marked the zero page as
- non-blank which might have caused problems for some Mac emu-
- lators. It now marks the lowest 32K as valid. Former versions
- set it to "cacheinhibit", it is now set to "cacheinhibit nonser-
- ialized imprecise".
- - mmu.library: The low-memory limit up to which the mmu.library
- has to software-emulate accesses has been made adjustable.
- - mmu.library: Due to a bug in the high-level mapping list manage-
- ment, MAPP_INDIRECT did not work correctly.
- - mmu.library: BuildIndirect() performs now a few more consistency
- checks and is less restrictive for MAPP_INVALID and MAPP_SWAPPED.
- - Updated the DMAInitiate() function, it provides now a return code
- instead going guru if it doesn't like the parameters.
- - Updated MuOmniSCSIPatch to reflect the changes made to
- DMAInitiate().
- - Fixed many documentation errors in mmu.doc, updated and checked
- exception.doc again.
- - Included a demo program for indirect descriptor handling.
- - Speedup SetIndirect() somewhat by placing this routine directly
- in the MMU drivers as a "native" operation.
- - Added a new LVO "SetIndirectArray()" to set more than one
- indirect descriptor at once. Should be *very* fast.
- - The startup command "DescriptorCacheInhibit" did not pass a proper
- result code on success and hence caused a yellow alert. This bug
- was only noticable in some of the V42 betas where proper result
- code checking was introduced.
- - mmu.library: WithoutMMU() disables now the CPU caches as well to
- allow a safe access to non-cacheable addresses.
- - MuFastZero: In case MuFastZero is removed (why?) the unmapped chip
- memory is set to IMPRECISE and NONSERIALIZED to provide at least
- a minimal speedup.
- - Added "AmigaGuide" versions of the autodocs.
- - Included a new version of BPPCFix by Frank Wille. Thanks, Frank!
- Using this program will allow you to replace the ROM-based
- libraries of the Blizzard-Boards.
- Thanks Stephen for working this out, and for making this trick
- possible!
- - Included a "RKRM" style manual and tutorial for the MuLib in "dvi"
- and "postscript" format.
-
- ------------------------------------------------------------------------------
-
- The THOR-Software Licence (v2, 24th June 1998)
-
-
- This License applies to the computer programs known as the "mmu.library"
- and its sources. The "Program", below, refers to such program. The
- "Archive" refers to the package of distribution, as prepared by the author
- of the Program, Thomas Richter. Each licensee is addressed as "you".
-
-
-
- The Program and the data in the archive are freely distributable
- under the restrictions stated below, but are also Copyright (c)
- Thomas Richter.
-
- Distribution of the Program, the Archive and the data in the Archive by a
- commercial organization without written permission from the author to any
- third party is prohibited if any payment is made in connection with such
- distribution, whether directly (as in payment for a copy of the Program) or
- indirectly (as in payment for some service related to the Program, or
- payment for some product or service that includes a copy of the Program
- "without charge"; these are only examples, and not an exhaustive enumeration
- of prohibited activities).
-
-
- However, the following methods of distribution
- involving payment shall not in and of themselves be a violation of this
- restriction:
-
-
- (i) Posting the Program on a public access information storage and
- retrieval service for which a fee is received for retrieving information
- (such as an on-line service), provided that the fee is not
- content-dependent (i.e., the fee would be the same for retrieving the same
- volume of information consisting of random data).
-
-
- (ii) Distributing the Program on a CD-ROM, provided that
-
- a) the Archive is reproduced entirely and verbatim on such CD-ROM, including
- especially this licence agreement;
-
- b) the CD-ROM is made available to the public for a nominal fee only,
-
- c) a copy of the CD is made available to the author for free except for
- shipment costs, and
-
- d) provided further that all information on such CD-ROM is redistributable
- for non-commercial purposes without charge.
-
-
- Redistribution of a modified version of the Archive, the Program or the
- contents of the Archive is prohibited in any way, by any organization,
- regardless whether commercial or non-commercial. Everything must be kept
- together, in original and unmodified form.
-
-
-
-
- Limitations.
-
-
- THE PROGRAM IS PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO
- WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE
- RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
- THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
- SERVICING, REPAIR OR CORRECTION.
-
-
- IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE THE PROGRAM, THE ARCHIVE
- AND ALL DATA OF THIS ARCHIVE FROM YOUR STORAGE SYSTEM. YOU ACCEPT THIS
- LICENCE BY USING OR REDISTRIBUTING THE PROGRAM.
-
-
- Thomas Richter
-
- -----------------------------------------------------------------------------
-
- So long,
- Thomas (May 2000)
-
-
- ============================= Archive contents =============================
-
- Original Packed Ratio Date Time Name
- -------- ------- ----- --------- -------- -------------
- 628 275 56.2% 15-Apr-00 21:49:32 +Contributions.info
- 628 272 56.6% 31-Mar-00 23:16:56 +BPPCFix.info
- 7164 4108 42.6% 31-Mar-00 23:16:10 +BPPCFix
- 1856 864 53.4% 31-Mar-00 23:16:10 +BPPCFix.readme
- 628 268 57.3% 30-Mar-00 22:38:46 +PatchWork.info
- 272 168 38.2% 24-Oct-99 23:30:10 +FILE_ID.DIZ
- 17952 8679 51.6% 24-Oct-99 23:29:50 +PatchWork
- 122690 26643 78.2% 24-Oct-99 23:29:56 +PatchWork.guide
- 523 273 47.8% 11-Sep-99 18:57:48 +PatchWork.guide.info
- 2169 951 56.1% 31-Mar-00 23:17:32 +ReadMe
- 523 274 47.6% 30-Mar-00 22:38:46 +ReadMe.info
- 628 268 57.3% 30-Mar-00 22:38:46 +Sashimi.info
- 6100 3899 36.0% 20-Jun-99 11:22:44 +sashimi
- 9464 3745 60.4% 20-Jun-99 11:21:34 +Sashimi.doc
- 523 271 48.1% 11-Sep-99 18:39:02 +Sashimi.doc.info
- 632 276 56.3% 11-Sep-99 18:39:34 +Source.info
- 389 263 32.3% 11-Sep-98 23:03:16 +SafeRawPutChar.asm
- 28106 7927 71.7% 20-Jun-99 11:22:22 +sashimi.c
- 349 201 42.4% 08-Feb-99 14:55:18 +smakefile
- 4510 2874 36.2% 28-Jan-00 19:17:38 +Dependencies
- 951 545 42.6% 15-Apr-00 21:49:32 +Dependencies.info
- 628 266 57.6% 15-Apr-00 21:49:32 +EnvArc.info
- 2697 1262 53.2% 11-Mar-00 11:30:46 +MMU-Configuration
- 628 277 55.8% 15-Apr-00 21:49:32 +Fixes.info
- 284 240 15.4% 06-Mar-00 20:41:44 +ConFix
- 700 555 20.7% 27-Sep-99 21:57:44 +ConsoleFix
- 3159 1318 58.2% 27-Sep-99 21:57:52 +ConsoleFix.readme
- 856 377 55.9% 05-Oct-99 22:08:58 +ConsoleFix.readme.info
- 272 236 13.2% 03-Jun-99 21:30:28 +FixCybAccess
- 1340 706 47.3% 26-Feb-00 17:36:12 +FixCybAccess.readme
- 856 380 55.6% 05-Oct-99 22:08:58 +FixCybAccess.readme.info
- 6573 2286 65.2% 11-Apr-00 22:54:04 +Fixes.ReadMe
- 856 374 56.3% 05-Oct-99 22:09:00 +Fixes.ReadMe.info
- 308 299 2.9% 26-Feb-00 17:33:14 +IPrefs.pch
- 176 158 10.2% 27-Aug-99 23:39:44 +mathieeedoubbas.pch
- 132 125 5.3% 26-Feb-00 17:37:40 +mfmdev.pch
- 148 137 7.4% 05-Oct-99 20:52:30 +narrator.device.pch
- 1428 980 31.3% 02-Oct-99 19:05:44 +PatchRAM
- 5771 2624 54.5% 02-Oct-99 19:05:48 +PatchRAM.readme
- 856 381 55.4% 05-Oct-99 22:09:00 +PatchRAM.readme.info
- 652 502 23.0% 04-Mar-00 14:08:58 +RamLibFix
- 168 156 7.1% 05-Sep-99 12:26:08 +SetPatch.pch
- 1248 801 35.8% 24-Oct-99 14:15:14 +SetPatch_44.pch
- 908 817 10.0% 29-Dec-99 13:38:08 +SetPatch_44_6.pch
- 14688 9310 36.6% 27-Aug-99 23:39:48 +spatch
- 628 267 57.4% 15-Apr-00 21:49:32 +Install.info
- 7164 4108 42.6% 31-Mar-00 23:16:20 +BPPCFix
- 14166 3623 74.4% 13-Apr-00 19:55:40 +BuildMMUConfig.rexx
- 3764 2042 45.7% 17-Jan-00 21:32:08 +FastIEEE
- 352 298 15.3% 18-Sep-99 22:07:44 +FindPort
- 348 290 16.6% 18-Sep-99 22:07:48 +FindResident
- 1132 708 37.4% 26-Mar-00 01:40:08 +MemModes
- 2584 1518 41.2% 28-Nov-99 15:26:46 +MuScan
- 344 280 18.6% 12-Apr-00 21:21:56 +P5Identify
- 1440 888 38.3% 12-Apr-00 21:25:42 +P5Init
- 276 251 9.0% 12-Apr-00 21:16:12 +PPCIdentify
- 388 296 23.7% 26-Feb-00 18:15:10 +PrintMMUPort
- 320 264 17.5% 11-Dec-99 23:36:58 +ScanMMUPort
- 14128 4050 71.3% 13-Apr-00 19:59:18 +ScanToConfig.rexx
- 688 496 27.9% 20-Sep-99 19:55:08 +ShowBoards
- 628 271 56.8% 15-Apr-00 21:49:32 +Libs.info
- 2188 1277 41.6% 05-Dec-99 00:07:52 +68020.library
- 2196 1288 41.3% 05-Dec-99 00:07:58 +68030.library
- 43368 23298 46.2% 30-Mar-00 22:33:00 +68040.library
- 64576 29784 53.8% 07-Nov-99 00:27:32 +68060.library
- 924 653 29.3% 30-Mar-00 22:33:06 +680x0.library
- 17240 10053 41.6% 23-Dec-99 17:50:26 +disassembler.library
- 40400 21275 47.3% 04-May-00 20:37:00 +mmu.library
- 1440 888 38.3% 12-Apr-00 21:25:42 +P5Init
- 150749 48869 67.5% 07-Apr-00 22:08:48 +MMU.guide
- 523 274 47.6% 15-Apr-00 21:49:32 +MMU.guide.info
- 12092 5323 55.9% 04-May-00 20:42:22 +MMULib.readme
- 788 348 55.8% 15-Apr-00 21:49:32 +MuTools.info
- 1840 1265 31.2% 28-Nov-99 15:36:36 +MuFastChip
- 12474 5174 58.5% 28-Nov-99 16:19:02 +MuFastChip.guide
- 523 271 48.1% 04-Sep-99 21:52:20 +MuFastChip.guide.info
- 1035 465 55.0% 04-Sep-99 21:52:20 +MuFastChip.info
- 3068 1949 36.4% 28-Nov-99 15:34:34 +MuFastRom
- 12032 4841 59.7% 28-Nov-99 16:18:56 +MuFastRom.guide
- 523 274 47.6% 04-Sep-99 21:52:20 +MuFastRom.guide.info
- 1110 475 57.2% 04-Sep-99 21:52:20 +MuFastRom.info
- 7032 3792 46.0% 26-Mar-00 15:24:16 +MuFastZero
- 20157 7780 61.4% 26-Mar-00 15:26:16 +MuFastZero.guide
- 523 276 47.2% 04-Sep-99 21:52:20 +MuFastZero.guide.info
- 1096 647 40.9% 04-Sep-99 21:52:20 +MuFastZero.info
- 12544 7103 43.3% 04-Jan-00 21:45:52 +MuForce
- 96389 29101 69.8% 04-Jan-00 21:55:34 +MuForce.guide
- 523 274 47.6% 04-Sep-99 21:52:20 +MuForce.guide.info
- 1522 933 38.6% 07-Sep-99 21:29:40 +MuForce.info
- 1493 919 38.4% 04-Sep-99 21:52:20 +MuForce_Off.info
- 1475 909 38.3% 04-Sep-99 21:52:20 +MuForce_Window.info
- 17216 10236 40.5% 09-Mar-00 22:39:48 +MuGuardianAngel
- 139566 43145 69.0% 10-Mar-00 23:39:38 +MuGuardianAngel.guide
- 523 273 47.8% 04-Sep-99 21:52:18 +MuGuardianAngel.guide.info
- 1566 921 41.1% 10-Oct-99 13:15:26 +MuGuardianAngel.info
- 1567 913 41.7% 04-Sep-99 21:52:20 +MuGuardianAngel_Off.info
- 7976 4532 43.1% 17-Jun-99 22:08:56 +MuLink
- 10210 4110 59.7% 11-Sep-99 21:56:16 +MuLink.readme
- 856 377 55.9% 12-Sep-99 13:05:32 +MuLink.readme.info
- 744 599 19.4% 10-Aug-99 01:04:08 +MuLockLib
- 600 268 55.3% 29-May-99 22:32:18 +MuLockLib.readme
- 856 378 55.8% 12-Sep-99 13:05:32 +MuLockLib.readme.info
- 3480 2455 29.4% 16-Mar-00 08:33:04 +MuMove4K
- 19451 7394 61.9% 01-Mar-00 20:37:46 +MuMove4K.guide
- 523 273 47.8% 04-Sep-99 21:52:20 +MuMove4K.guide.info
- 1063 498 53.1% 04-Sep-99 21:52:20 +MuMove4K.info
- 1136 812 28.5% 13-Mar-00 22:33:22 +MuOmniScsiPatch
- 11176 4634 58.5% 13-Mar-00 22:35:02 +MuOmniScsiPatch.guide
- 523 273 47.8% 04-Sep-99 21:52:20 +MuOmniScsiPatch.guide.info
- 546 278 49.0% 04-Sep-99 21:52:20 +MuOmniScsiPatch.info
- 2204 1433 34.9% 17-Jun-99 22:01:32 +MuOVLYMGR
- 2584 1518 41.2% 28-Nov-99 15:26:46 +MuScan
- 19029 6862 63.9% 28-Nov-99 16:28:24 +MuScan.guide
- 523 272 47.9% 04-Sep-99 21:52:20 +MuScan.guide.info
- 1062 529 50.1% 04-Sep-99 21:52:20 +MuScan.info
- 3804 2281 40.0% 28-Nov-99 15:33:26 +MuSetCacheMode
- 20517 7394 63.9% 28-Nov-99 16:19:10 +MuSetCacheMode.guide
- 523 271 48.1% 04-Sep-99 21:52:18 +MuSetCacheMode.guide.info
- 1335 624 53.2% 04-Sep-99 21:52:20 +MuSetCacheMode.info
- 72286 27986 61.2% 04-May-00 20:40:54 +ReadMe
- 6683 2722 59.2% 30-Mar-00 22:27:06 +Readme.First!
- 1001 607 39.3% 15-Apr-00 21:49:32 +Readme.First!.info
- 523 271 48.1% 15-Apr-00 21:49:32 +ReadMe.info
- -------- ------- ----- --------- --------
- 1163862 452178 61.1% 16-May-100 22:27:38 123 files
-